﻿#pragma once
#include <QtWidgets/QMainWindow>

#include "SARibbonMainWindow.h"


#include <vtkSmartPointer.h>
#include "vtkObjectFactory.h"
#include "vtkProcess.h"

class SARibbonCategory;
class SARibbonContextCategory;
class SARibbonCustomizeWidget;
class SARibbonActionsManager;
class SARibbonQuickAccessBar;
class SARibbonButtonGroupWidget;
class SARibbonPannel;
class QTextEdit;
class QComboBox;
class QCloseEvent;
class QLineEdit;
class QAction;

class QtNetSafeToolWindow: public SARibbonMainWindow
{
    Q_OBJECT

public:
    QtNetSafeToolWindow(QWidget* parent = nullptr);
    ~QtNetSafeToolWindow();

private:
    void InitUi();

    // 创建ribbon-application菜单示例  
    void CreateRibbonApplicationButton(); // 创建ribbon-application菜单示例
    void CreateCategoryMain(SARibbonCategory* page);  // 创建main菜单示例
    void CreateCategoryCreate(SARibbonCategory* page);  // 创建Create
    void CreateCategoryView(SARibbonCategory* page);  // 创建View

    void CreateQuickAccessBar();// 创建快速访问栏示例
    void CreateRightButtonGroup();// 创建右侧按钮组示例

    QAction* CreateAction(const QString& text, const QString& iconurl, const QString& objName);
    QAction* CreateAction(const QString& text, const QString& iconurl);

    //创建中心组件
    QWidget* CreateCenterViewWidget(QWidget* parent = nullptr);




private:
    QMenu* m_pMenuApplicationBtn = nullptr;


};



////
//class MyProcess: public vtkProcess
//{
//public:
//    static MyProcess* New();
//
//
//    void Execute() override;
//
//    void SetArgs(int anArgc, char* anArgv[]);
//
//protected:
//    MyProcess();
//
//    int Argc;
//    char** Argv;
//};

